"""
为了根据请求动态选择当前租户，你可能需要编写一个自定义的中间件。你可以在 tenants/middleware.py 中实现这一点。例如，使用子域作为租户标识符的中间件可能看起来像这样：
"""

from django.shortcuts import get_object_or_404
from .models import Tenant

class TenantMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        host_name = request.get_host().split(':')[0]
        subdomain_prefix = host_name.split('.')[0]

        tenant = get_object_or_404(Tenant, subdomain_prefix=subdomain_prefix)
        request.tenant = tenant

        response = self.get_response(request)
        return response